"""
题目 1：学生信息管理类
要求：
1.创建一个Student类，包含以下属性：
o学号（ID）
o姓名（name）
o年龄（age）
o成绩列表（scores，例如数学、语文、英语）
2.定义方法：
oaddScore(subject, score)：添加某一科的成绩
ocalculateAverage()：计算所有科目的平均分
odisplayInfo()：输出学生基本信息及所有成绩
3.测试代码：创建一个学生对象，添加成绩，输出信息和平均分。
"""
class Student():
    def __init__(self,ID,name,age,scores):
        self.ID = ID
        self.name = name
        self.age = age
        #
        self.scores = scores

    def addScore(self,subject,score):
        self.scores.append({
            "subject":subject,
            "score":score
        })

    def calculateAverage(self):
        sum = 0
        for item in self.scores:
            sum += item["score"]
        return sum/len(self.scores)

    def displayInfo(self):
        print(f"ID:{self.ID},name:{self.name},age:{self.age},scores:{self.scores}")
li = [{"subject":"语文","score":80}]
cl = Student("s001","cl",20,li)
cl.displayInfo()
cl.addScore("数学",90)
cl.displayInfo()
res = cl.calculateAverage()
print(res)